Permissiveness in Transactional Memories
نویسندگان
چکیده
We introduce the notion of permissiveness in transactional memories (TM). Intuitively, a TM is permissive if it never aborts a transaction when it need not. More specifically, a TM is permissive with respect to a safety property p if the TM accepts every history that satisfies p. Permissiveness, like safety and liveness, can be used as a metric to compare TMs. We illustrate that it is impractical to achieve permissiveness deterministically, and then show how randomization can be used to achieve permissiveness efficiently. We introduce Adaptive Validation STM (AVSTM), which is probabilistically permissive with respect to opacity; that is, every opaque history is accepted by AVSTM with positive probability. Moreover, AVSTM guarantees lock freedom. Owing to its permissiveness, AVSTM outperforms other STMs by upto 40% in read dominated workloads in high contention scenarios. But, in low contention scenarios, the bookkeeping done by AVSTM to achieve permissiveness makes it, on average, 20-30% worse than existing STMs.
منابع مشابه
On Enhancing Concurrency in Distributed Software Transactional Memory
Distributed software transactional memory (STM) promises to alleviate difficulties with lockbased (distributed) synchronization and object performance bottlenecks in distributed systems. The existing distributed STM model based on globally-consistent contention management policies may abort many transactions that could potentially commit without violating correctness. To reduce unnecessary abor...
متن کاملTowards the Integration of Distributed Transactional Memories
The transition to multicore architectures has raised the urge to identify novel programming paradigms aimed at simplifying the development of parallel programs. Transactional Memories (TM) are regarded as one of the most promising approaches to address this issue, as highlighted by the huge interest garnered in the research community over the last years. Distributed Transactional Memories (DTMs...
متن کاملA TimeStamp based Multi-version STM Protocol that satisfies Opacity and Multi-Version Permissiveness
Software Transactional Memory Systems (STM) are a promising alternative to lock based systems for concurrency control in shared memory systems. In multiversion STM systems, each write on a transaction object produces a new version of that object. The advantage obtained by storing multiple versions is that one can ensure that read operations do not fail. Opacity is a commonly used correctness cr...
متن کاملMultiversion Conflict Notion for Transactional Memory Systems
In recent years, Software Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing concurrency issues in memory. STM systems take optimistic approach. Multiple transactions are allowed to execute concurrently. On completion, each transaction is validated and if any inconsistency is observed it is aborted. Otherwise it is allowed to commit. ...
متن کاملOn the analytical modeling of concurrency control algorithms for Software Transactional Memories: The case of Commit-Time-Locking
We present an analytical performance modeling approach for concurrency control algorithms in the context of Software Transactional Memories (STMs). We consider a realistic execution pattern where each thread alternates the execution of transactional and non-transactional code portions. Our model captures dynamics related to the execution of both (i) transactional read/write memory accesses and ...
متن کامل